Method and system to navigate viewable content

ABSTRACT

A method and system to navigate viewable content in the context of television entertainment is provided. In one example embodiment, the system comprises a presentation module to present main content on a display screen, a communications module to receive a first request associated with a first directional key on a remote control device, a navigation mode detector to determine a navigation mode associated with the first request, a margin menu module to activate a margin menu associated with the determined navigation mode. The margin menu may be presented along one of the margins of a display screen, while permitting viewing of the main content.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/159,556, filed on May 19, 2016, which is a continuation of U.S.patent application Ser. No. 14/184,371, filed on Feb. 19, 2014, which isa continuation of U.S. patent application Ser. No. 12/377,650, filed onJan. 3, 2011, which is a U.S. National Stage Filing under 35 U.S.C. 371from International Application Number PCT/US2007/019554, filed on Sep.7, 2007 and published in English as WO 2008/030565 on Mar. 13, 2008,which claims the priority benefit of U.S. Provisional Application Ser.No. 60/842,735 filed on Sep. 7, 2006 and entitled “METHOD AND SYSTEM TONAVIGATE MULTIMEDIA CONTENT” and of U.S. Patent Application Ser. No.60/911,009 filed on Apr. 10, 2007 and entitled “METHOD AND SYSTEM TOSEARCH MULTIMEDIA CONTENT IN THE CONTEXT OF TELEVISION ENTERTAINMENT”,which applications and publication are incorporated herein by referencein their entirety. This application is also related to commonly assignedPCT Application Number PCT/US2007/019527, filed Sep. 7, 2007, publishedin English as WO 2008/051331 on May 2, 2008, and entitled “METHOD ANDSYSTEM TO SEARCH VIEWABLE CONTENT”. This application is also related tothe U.S. National Stage Filing which claims priority to PCT ApplicationNumber PCT/US2007/019527, filed on even date herewith. Theseapplications and publication are incorporated herein by reference intheir entirety.

TECHNICAL FIELD

This application relates to a method and system to navigate viewablecontent in the context of television entertainment.

BACKGROUND

The approaches described in this section could be pursued, but are notnecessarily approaches that have been previously conceived or pursued.Therefore, unless otherwise indicated herein, the approaches describedin this section are not prior art to the claims in this application andare not admitted to be prior art by inclusion in this section.

In the field of television entertainment, there is a new generation ofviewers that has a high expectation of the level of entertainment to beenjoyed from television programming. These viewers may expect morechoice, more flexibility, as well as the ability to interact andparticipate more with the viewable content.

On the other hand, the sheer volume of content that is available forviewing is exploding dramatically. Just the number of televisionchannels that are now available is almost unmanageable. The amount ofcontent that is available via video on demand service is alsoincreasing. It is now possible to view content over a wider span of timeby employing time shifting technologies, such as Personal VideoRecording (PVR) (sometimes referred to as DVR or Digital VideoRecording). This explosion of content may be described as a paradox ofchoice, where the excess of choices causes a viewer's inability tochoose.

BRIEF DESCRIPTION OF DRAWINGS

Embodiments are illustrated by way of example and not limitation in thefigures of the accompanying drawings, in which like references indicatesimilar elements and in which:

FIG. 1 illustrates an environment within which an example system tonavigate viewable content may be implemented, in accordance with anexample embodiment;

FIG. 2 is a block diagram illustrating a system, in accordance with anexample embodiment, to navigate viewable content;

FIG. 3 is a flow chart illustrating a method, to navigate viewablecontent:

FIG. 4 is a flow chart illustrating a method, in accordance with anexample embodiment, that includes additional operations that may beperformed in one example implementation of a method to navigate viewablecontent;

FIG. 5 illustrates a broadcast margin menu, in accordance with anexample embodiment;

FIG. 6 illustrates a broadcast grid, in accordance with an exampleembodiment;

FIG. 7 illustrates a recommendation grid, in accordance with an exampleembodiment;

FIG. 8 is a flow chart illustrating a method, in accordance with anexample embodiment, to provide recommendations with respect to thecontent items available for viewing;

FIG. 9 illustrates a library grid, in accordance with an exampleembodiment;

FIG. 10 illustrates a media card, in accordance with an exampleembodiment; and

FIG. 11 illustrates a diagrammatic representation of a machine in theexample form of a computer system within which a set of instructions,for causing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed.

DETAILED DESCRIPTION

A method and system to navigate content available for viewing and tomanage a viewer's choice is described. In the following description, forpurposes of explanation, numerous specific details are set forth inorder to provide a thorough understanding of an embodiment of thepresent invention. It will be evident, however, to one skilled in theart that the present invention may be practiced without these specificdetails. It is to be noted that the delivery mechanism for the contentfor viewing may be via a satellite, cable, Internet, local storage, alocal network, mobile telephony, or any other content distributionnetwork. Accordingly, the viewing device need not be a television setbut may be any display unit of any device (including portable devices).

A system to navigate viewable content and to manage a viewer's mayinclude a supermodal zoomable viewer interface (ZUI) (e.g., theinterface may be selectively enlarged by zooming in, either literally orfiguratively, by enabling specific selections) that may be utilized toassist viewers in navigating the wealth of potentially availableviewable content in an efficient and enjoyable manner. An exampleinterface may be configured to analyze a viewer's behavior over time andto provide a personalized experience in a world of nearly infinitecontent. In one example embodiment, the interface may be configured toutilize existing control keys on a remote control device, such as thedirectional keys and the select button, in order to access variousaspects of the interface and the associated functionality. Thisfunctionality may include, e.g., a viewer interface to navigate to theprogramming of choice, to view recommendations based on the currentlyviewed content and/or the viewer's profile, as well as to permit viewersto search for specific content items. An example interface maycontribute to enhancing viewer experience by providing a smoothtransition between watching television and navigating for content andbetween different navigation techniques. For the purposes of thisdescription, a feature or a combination of features to permit a viewerto access multiple modes in order to discover and navigate content andto link those modes to create a unified experience, may be referred toas supermodality. It will be noted that the term viewer may beunderstood broadly as any viewer of the system to navigate televisioncontent.

In one example embodiment, a method and system to navigate viewablecontent may be utilized in the following example scenario. A viewer justarrived home and started watching television. The viewer is channelsurfing but cannot find anything adequate to watch. The viewer is stuckin the paradox of choice—too much choice to find something he reallywants. By employing the example system to navigate viewable content(that may be referred to as a navigation system), the viewer ispermitted to explore the variety of available viewable content by thesimple use of the five standard remote control keys—the four directionalkeys (e.g., the arrow buttons) and the select key. The requestssubmitted in this manner may activate functionality to provide shortcutsto a variety of content navigation functions (e.g., to automaticallyengage a particular way of navigating), and thus may be referred to as“surfcuts,” as navigating through content is sometimes referred to as“surfing.”

In response to receiving a request associated with a directional key,the example navigation system determines which directional key wasactivated by the viewer and present the viewer with a so-called marginmenu. A margin menu, in one example embodiment, is displayed in themargins of a viewing area (e.g., in the margins, or along the edges ofvideo content, or at the periphery of a TV screen or any other viewingdevice) and may be associated with specific navigation-relatedfunctionality. For example, one margin menu may be dedicated tonavigating broadcast channels, another—to navigating video-on-demand(VOD) or previously stored content. In one example embodiment, each itemin the margin menu represents a content item that can be viewed. Someexample margin menus are described further below. An interface based onmargin menus may contribute to enhancing viewer experience by providinga smooth transition between watching television and navigating forcontent and between different navigation techniques.

A margin menu may be intuitively associated with a particulardirectional key such that a margin menu to be displayed in the upperportion of a display screen may be activated by an “Up” directional key,a margin menu to be displayed in the left portion of a display screenmay be activated by a “Left” directional key, and so on. In one exampleembodiment, an interface for navigating viewable content may include afeature that permits a viewer to continue viewing the current contentwhile, at the same time, previewing different content (e.g., the contentselected via a margin menu choice). It will be noted, however, that insome embodiments there may not be a margin per se. In such situation,the main content may be resized in order to create space for the marginmenu. An example margin menu may be displayed such that it does notobscure the content that a viewer is currently watching, whilepermitting a viewer to start navigating towards different viewablecontent. In some embodiments, where a margin menu is displayed on amobile device, the content may be partially or fully obscured, dependingon the screen size. A separate margin menu may be associated with eachdirectional key on a viewer's remote control device. The margin menu mayextend around the entire periphery of the viewing area or only a portionthereof.

In one example embodiment, the directional keys that are provided with aremote control device may be utilized to navigate margin menus, with orwithout employing a specialized control key to permit content navigationand selection. For example, once a margin menu has been engaged, aviewer may use directional keys on a remote control device to movebetween different content items (e.g., by pressing the “Up” and “Down”directional keys if the margin menu is displayed along the left or theright edge of the screen). The “Select” key on a remote control device,in one example embodiment, may be used to cause the currently viewedcontent to be replaced by the selected content.

In one example embodiment, a margin menu associated with a particulardirectional key may be displayed in such a way that it reinforces aviewer's key-menu association. For example, a margin menu associatedwith an “Up” directional key may be displayed near the top edge of theviewing area, a “Down” directional key may be displayed near the bottomedge of the viewing area, a “Left” directional key may be displayed nearthe left edge of the viewing area, and a “Right” directional key may bedisplayed near the right edge of the viewing area. It will be noted,that a variety of remote control devices may be utilized with the systemto navigate viewable content, including, e.g., controllers designed forgames, that may have more than four directional keys. Using points of acompass, such controllers may have directional keys labels as “N”, “NE”,“E”, “SE”, “S”, “SW”, “W”, and “NW,” and these directional keys may alsobe used by the system to permit viewers to navigate through viewablecontent.

In one example embodiment, an example navigation system may beconfigured to present an expanded navigation interface (e.g., anavigation grid) associated with some or all of the margin menu toprovide a more advanced discovery mode. A respective expanded interfacefor a margin menu may be requested by pressing the same directional keya second time when the margin menu is shown.

In order to exit from viewing a margin menu, a viewer may press thedirectional key opposite from the key that engaged the margin menu. Forexample, a viewer may bring up a left margin menu by pressing the leftdirectional key and then exit from viewing the left margin menu bypressing the right directional key. According to one example embodiment,a viewer may also exit by pressing some other key as well, such as“Back”, “Exit,” or any other key. It will be appreciated that thespecific interface used to navigate a margin menu may vary from oneviewing device to another. For example, when viewing content on acomputer system, directional keys of a keyboard may be used. Whenviewing content on a mobile device, numerical keys may be used, and soon.

A margin menu may be navigated using the direction keys at 90 degrees tothe directions keys used to invoke and exit it. For example, a viewermay bring up the left margin menu by pressing the “Left” directional keyand then navigate between the choices within the margin menu using the“Up” and “Down” directional keys. Each item in the margin menu may haveassociated “Preview” and “Select” options. The “Preview” option maypermit a viewer to visually access the content that is different fromthe currently viewed content, while continuing to display the currentlyviewed content. In one example embodiment, when a content item isselected from a margin menu, e.g., by activating the “Select” key on aremote control, the selected content item replaces the currently viewedcontent.

A system to navigate multimedia content, in some example embodiments,may be implemented to include modules to offer content recommendations,to process explicit search requests, to present broadcast programs,video on demand content, Internet content, as well as previously storedcontent, in a manner suitable for navigating. An example system tonavigate viewable content in the context of television entertainment maybe described with reference to FIG. 1.

FIG. 1 illustrates an environment 100 within which an example system tonavigate viewable content may be implemented. The environment 100includes a system to navigate viewable content 102 in communication withan entertainment display device 104 and a control device 106. In oneexample embodiment, the entertainment display device 104 is a televisionset, and the control device 106 is a remote control device that may beused for switching between television channels, for example. The systemto navigate viewable content 102 is shown as having access to broadcastprograms 108, video on demand programs 110, as well as to local content112 and Internet content 114. An example system to navigate viewablecontent in the context of television entertainment may be described withreference to FIG. 2.

FIG. 2 illustrates an example system 200 to navigate viewable content.The system 200 includes a communications module 202, a presentationmodule 204, and a margin menu module 208. The communications module 202may be configured to receive requests from a viewer, e.g., contentsearch, content selection, and content navigation requests. As mentionedabove, the requests may be received from a television remote controldevice. The presentation module 204 may be configured to display thecontent item, selected by a viewer, in a format suitable for viewing.For example, the presentation module 204 may cooperate with the marginmenu module 208 to present different margin menus in response toviewer's requests associated with directional keys on a remote controldevice.

The margin menu module 208, in one example embodiment, may include aplurality of modules, each of which being associated with its respectivemargin menu. Example margin menus are described further below. Thepresentation module 204 may also be configured to present to a viewer amedia card associated with a particular content item, utilizing a mediacard module 222. A media card, in one example embodiment, is aninteractive presentation interface to provide additional informationregarding the content item, including a list of keywords, stored asmetadata associated with the content item. The margin menu module 208may be configured to activate a margin menu associated with thedetermined navigation mode. The activating of a margin menu indicates tothe viewer that a certain navigation mode has been activated. A marginmenu may be presented by the margin menu module 208 along one of themargins of a display screen, while permitting viewing of the maincontent.

The margin menu module 208, in one example embodiment, cooperates with anavigation mode detector 206. The navigation mode detector 206 may beconfigured to determine a navigation mode associated with a directionalkey associated with a request received by the communications module 202.The navigation mode detector 206 may then communicate the navigationmode information to the margin menu module 208 so that the margin menumodule 208 displays the appropriate margin menu. An example system 200to navigate viewable content may be configured to support a variety ofnavigation modes and associated margin menus. Some example margin menusinclude a broadcast menu, a library menu, a search, menu, and arecommendation menu. Some of the example menus are discussed in greaterdetail further below.

In one example embodiment, the system 200 to navigate viewable contentincludes a search module 210 configured to locate the requested contentitem based on a search term associated with the search request and ananticipation engine 212 to drive recommendations suggested to a viewer.The search module 210, in one example embodiment, is configured tocooperate with a text entry module permits a viewer to enter searchterms in a text format and a search term detector to determine a searchterm associated with a viewer's request. A text entry module maycooperate with a dictionary module to generate suggested search termsand to present a reduced set of letter selections based on an incompletetext entry by the viewer. A disambiguation module may be provided withthe search module 210 to generate a more precise search term based onthe search term provided with the viewer's request. The viewer may thenbe provided with an option to select the generated more precise searchterm to be used for searching. The example system 200 may also include asearch refinement module to permit filtering of the content itemslocated by the search module 210.

As mentioned above, the content available for viewing on anentertainment display device may include television programming, locallystored content, video on demand, content available on a local network,as well as content accessible via the Internet. The system 200, in oneexample embodiment, includes a broadcast interface module 214 to accesstelevision programming, a library interface module 216 to access locallystored content, a video on demand module 218 to access video on demand,and an Internet interface module 220 to access Internet content. It willbe noted that some or all of the modules of the system 200 may beconsidered to be a system to navigate viewable content. An expandedinterface module 224 may be configured to detect a request for anexpanded navigation interface associated with the currently activemargin menu and to activate the associated expanded interface. Exampleoperations performed by the system 200 may be described with referenceto FIG. 3.

FIG. 3 illustrates is an example method 300 to navigate viewablecontent. The method 300 may be performed by processing logic that maycomprise hardware (e.g., dedicated logic, programmable logic, microcode,etc.), software (such as run on a general purpose computer system or adedicated machine), or a combination of both. It will be noted, that, inan example embodiment, the processing logic may reside in any of themodules shown in FIG. 2.

As shown in FIG. 3, the method 300 commences with operation 302, wherethe presentation module 204 presents main content on a display screen.At operation 304, the communications module 202 of the system 200receives a request associated with a directional key on a remote controldevice. It will be noted that in one example embodiment the displaydevice is a television screen, and the remote control device is atelevision remote control device. In response to receiving the request,the navigation mode detector 206 processes the request to determine anavigation mode associated with the first request, at operation 306. Atoperation 308, the margin menu module 208 activates a margin menuassociated with the determined navigation mode and the presentationmodule 204 displays the margin menu along one of the margins of theviewer's display screen. The margin menu may be displayed such that themain content is not obstructed from view.

As mentioned above, an example system to search viewable content may beconfigured to permit a viewer to invoke functionality utilizingdirectional keys that are intuitively associated with the directiondesignated by a directional key. For example, if a particulardirectional key is used to activate a particular navigation mode, adirectional key associated with the opposite direction is used todeactivate the navigation mode. On the other hand, engaging the samedirectional key again, causes the activation of an expanded version ofthat navigation mode (e.g., the activation of a grid associated withthat navigation mode). Example operations illustrating these featuresmay be discussed with reference to FIG. 4.

FIG. 4 illustrates a method 400 that includes additional operations thatmay be performed in one example implementation of a method to navigateviewable content. The example method 400 may be performed by processinglogic that may comprise hardware (e.g., dedicated logic, programmablelogic, microcode, etc.), software (such as run on a general purposecomputer system or a dedicated machine), or a combination of both. Itwill be noted, that, in an example embodiment, the processing logic mayreside in any of the modules shown in FIG. 2.

As shown in FIG. 4, the method 400 commences with operation 402, wherethe communications module 202 of the system 200 receives a requestassociated with a directional key on a control device. At operation 404,the navigation mode detector determines whether a navigation mode hasalready been activated. If it is determined that a navigation mode hasnot been activated, the navigation mode detector 206 identifies thenavigation mode associated with the directional key and the identifiednavigation mode is activated at operation 406. If it is determined thata navigation mode has already been activated, the navigation modedetector 206 identifies the active navigation mode at operation 408. Thedirectional key associated with the active navigation mode is determinedat operation 410.

If it is determined, at operation 412, that the directional keyassociated with the request received at operation 402 is the opposite ofthe directional key associated with the active navigation mode, theactive navigation mode is deactivated at operation 414. If it isdetermined, at operation 412, that the directional key associated withthe request received at operation 402 is the same as the directional keyassociated with the active navigation mode, the presentation module 204displays, at operation 418, an associated grid to permit the vieweraccess to expanded functionality associated with the active navigationmode. If it is determined, at operation 412, that the directional keyassociated with the request received at operation 402 is not the same asthe directional key associated with the active navigation mode, anappropriate associated action is determined at operation 420, and theaction is performed at operation 422.

As mentioned above, one example of a margin menu is a broadcast marginmenu. The broadcast margin menu, in one example embodiment, may beactivated by the “Down” directional key on a remote control device andmay be displayed at the bottom of the viewer's screen. The broadcastmargin menu may permit a viewer to see what TV programs are available onother channels. Each item in the on broadcast margin menu may haveassociated with “Preview” and “Select” (or “OK”) options. The “Preview”option may permit a viewer to visually access a desired broadcastchannel, while continuing to display the currently viewed content. Inone example embodiment, a viewer may be permitted to see other channelswithout obscuring the currently viewed content. The “Select” option, inone example embodiment, causes the currently viewed content to bereplaced by the selected broadcast channel.

An example broadcast margin menu is illustrated in FIG. 5. As shown inFIG. 5, a main content item 502 is presented to occupy the largerportion of a display area 500. Content items 504-512 that representother broadcast content item available for viewing are presented in theform of a margin menu—the broadcast margin menu—displayed along theright margin of the display area 500.

As shown in FIG. 5, the content item 508 is displayed as highlighted oraccentuated, in order to draw the viewer's attention as a recommendeditem. The highlighting may be accomplished in a variety of ways. Forexample, the program title may be displayed in a color different from orbrighter than the title color of the other menu items. In oneembodiment, the recommended content item from the menu may be presentedas streaming video, while the rest of the menu items may be presented asstill images.

In one example embodiment, a viewer may be permitted to select and viewa program from the broadcast margin menu, or, alternatively, the viewermay be permitted to access a so-called broadcast grid associated withthe broadcast margin menu. FIG. 6 illustrates a broadcast grid 600, inaccordance with an example embodiment. In one example embodiment, thebroadcast grid is a traditional linear TV grid, which may include somefeatures of a conventional TV grid. A TV grid may be displayed such thatthe channels information runs across the top of the viewer's screen(e.g., areas 604, 606, and 608) while the time, in area 602, runs downthe side of the viewer's screen. As shown in FIG. 6, thumbnail imagesfrom the broadcast menu, e.g., images that may be presented in areas 604and 606, are kept at the top of the screen so the viewer can easily seewhat is currently playing on a channel as they page through the guide.In one example embodiment, the titles of recommended broadcast programspresented within the body of the grid may be visually emphasized, e.g.,with a subtle colored highlight. The anticipation engine 212 may beconfigured to determine which broadcast programs should be recommendedin this manner, based on the viewer's personal profile and viewinghabits.

It will be appreciated that an expanded interface may be provided on anydisplay device. The broadcast grid may be accessed by the viewer bypressing the same button that was used to access the broadcast marginmenu while the broadcast margin menu is visible. Within the broadcastgrid, a viewer may be permitted to not only navigate by content, butalso by the channel names or brands. So as with any other content item,a viewer may bring up a to view information associated with a particularchannel, to search based on that channel, to make recommendations basedon the channel brand, or to save content associated with the channel.Example media card is described further below with reference to FIG. 7.

In one example embodiment, each content item associated with aparticular channel in the broadcast margin menu (or in a broadcast grid)may be displayed utilizing a still image or streaming video. When thechannels in the broadcast margin menu or in a broadcast grid arerepresented as streaming videos, a viewer may be permitted to actuallysample the channels' content directly through these individual screens.In one example embodiment of the broadcast grid, the text associatedwith different TV programs may be presented as having different color,brightness, or different font size, or any combination of the above, toindicate a recommendation generated by the anticipation engine 212.Thus, while a viewer is presented with information associated withseveral different channels, the viewer may be capable of quicklyidentifying a TV program that is of most interest to her.

As mentioned above, another margin menu is a search margin menu. In oneexample embodiment, the search menu that may be presented near the rightmargin of the viewer's screen, displays content items from a previouslyexecuted search. The search margin menu may be activated by the “Right”directional key on a remote control device. A viewer may utilize thesearch menu to access a content item found in the last search performed.Each item in the on search margin menu may have associated “Preview” and“Select” (or “OK”) options. The “Preview” option may permit a viewer tovisually access a desired content item, while continuing to display thecurrently viewed content. In one example embodiment, a viewer may bepermitted to see other content items from a search without obscuring thecurrently viewed content. The “Select” option, in one exampleembodiment, causes the currently viewed content to be replaced by theselected content item. A viewer can also initiate a new search by typingor selecting a search term. Once the search term has been determined,the search module 210 may locate one or more relevant content itemsbased on the determined search term. The presentation module 204 maythen present to the viewer the located content item. In one exampleembodiment, the located content item is presented to the viewer as aso-called source content item. Designating a content item to be thesource item indicates to the associated content navigation system thatmetadata associated with the content item may be utilized to locatefurther search results or recommendations.

In one example embodiment, in response to requesting a search, a vieweris presented with one or more terms reflecting more precise meanings ofthe search term determined from the search request. A process todetermine a more precise meaning of the search term may be referred toas disambiguation. For example, if the search term is “Disney,” thesearch may produce a large number results. The viewer may be permittedto look at these individual content items within the search results oruse mechanisms to refine the search by choosing a disambiguated meaningof the search term, such as “Walt Disney” or “Disney World”, with eachresults set reduced automatically as the different meanings areselected.

Another example mechanism to refine or filter the search results is topresent the viewer with an option to select a particular keyword, tag,category, or a type of content. For example, the list of content itemsproduced by the search based on “Disney” may be filtered further basedon the type of content associated with “animals” or only content thatare TV series. The search results can be filtered multiple times,reducing the search result set with each filter by selecting differentterms.

One example interface is single screen faceted browsing, where a list offilter terms is presented in multiple lists in the same interface as thesearch result list. One list of terms may be content categories andanother list of terms may be content specific keywords/tags. In oneexample embodiment, moving between the terms and selecting terms fromthe lists allows the search results to be filtered/pivoted. The viewermay navigate between the search results list and search term lists usingthe “Left” and “Right” directional keys and navigate up and down thelists using the “Up” and “Down” directional keys. The search resultslist may contain images, text, or video to identify the associatedcontent in the search result set.

One example of a search results list is a “lightbox” model, where asearch result is just the title of a content item except for the searchitem that has focus, which would be expanded in size to contain athumbnail video or a still image or expanded text. In one exampleembodiment, the pool of content utilized to generate a list of searchresults includes broadcast content, on-demand content, Internet content,content stored on a local network, as well as any other type of contentthat may be viewable on a television set, or any other display device.

In one example embodiment, the system to navigate viewable content maybe configured to provide other margin menus in addition to the broadcastmargin menu and the search margin menu. Other margin menus may include alibrary margin menu, and a recommendation margin menu. As mentionedabove, the system may be configured to present a navigation gridassociated with some or all of the margin menus to provide a moreadvanced discovery mode.

The library margin menu, in one example embodiment, permits a viewer toaccess content, both for locally sourced content (e.g., PVR), andremotely sourced content (e.g., video on demand, content viaInternet-based distribution, content on a local network etc.). Thelibrary margin menu, in one example embodiment, may be activated by the“Left” directional key on a remote control device and may be displayednear the left margin of the viewer's screen. As mentioned earlier, withrespect to margin menus in general, once the library margin menu hasbeen engaged, a viewer may use directional keys on a remote controldevice to move between different content items (e.g., by pressing the“Up” and “Down” directional keys). The “Select” key, activated on aremote control device, in one example embodiment, causes the currentlyviewed content to be replaced by the selected content. The librarymargin menu, in one example embodiment may be associated with a librarygrid, which is described further below. In one example embodiment, thecontent items that may be accessed utilizing the library menu and thelibrary grid are the content items that has been designated by a vieweras being of interest to the viewer.

In one example embodiment, the “Up” directional key on a remote controldevice may be utilized to engage a recommendations margin menu. Therecommendations margin menu may be associated with an engine that may beconfigured to intelligently anticipate a viewer's choice of particularcontent. Thus, such an engine may be termed an anticipation engine,which may be provided with the system 200 to navigate viewable content,illustrated in FIG. 2. The recommendations generated by the anticipationengine 212 may be based, for example, on the specific content that theviewer is currently watching, a profile of the viewer including viewinghabits, environmental context, general popularity, collaborativefiltering or any combination of the preceding factors. A margin menuwith several recommended content items may appear near the top margin ofthe viewer's screen in response to the control key. The viewer may thenselect any of the recommended content items, either for preview or forcommitted viewing. Alternatively, the viewer may choose to solicitfurther recommendations by engaging a so-called full committed interface(or entering a committed recommendations mode). While in the examplecommitted recommendations mode, a viewer may request recommendationsfrom the anticipation engine 212 based not on the originally viewedcontent but rather based on the selected recommended content item. Inresponse, the anticipation engine 212 may provide furtherrecommendations to be displayed by the navigation interface.

It will be noted, that the recommendations mode that permits viewers toview recommendations and solicit more targeted recommendations may beaccessed from any other margin menu, navigation grid, media card, or anyother component of the viewer interface. In one example embodiment, aviewer may be presented simultaneously with recommendations based on theoriginally viewed content and with recommendations based on the selectedrecommended content item, as well as on the profile of the viewer. Thecontent item that is selected to be the basis for a group of recommendedcontent items may be called a source item. For example, while the systemis operating in the committed recommendations mode, a source item (e.g.,a source video) may be displayed along with two recommended contentitems displayed either side of it. A viewer may be permitted to navigatewith the “Left” and “Right” directional keys to either of those contentitems. If a viewer navigates to a recommended content item and selectsit, the item may be then brought into focus and displayed in the centerof the viewer's screen, as the new source content item, surrounded bytwo other recommendations. A viewer may navigate with the “Up”directional keys to retain the current source content and replace thetwo recommended content items with two new recommendations based on thesame source item. A viewer may navigate with the “Down” directional keysto return to a previous source item. The recommendations may bedisplayed as still images, while the source item may be displayed as astreaming video. Data about the recommendations and the source item maybe displayed with images, video, or text, for example, title. For arecommendation item, this data may also include the tag/keyword commonto the recommendation item and source item that had the most influenceon the recommendation being made.

An example alternative implementation of a committed recommendation modeis so-called fractal navigation, where a directional key may be used todesignate a recommended content item as a new source content item, whilemaintaining the previous choices visually available. The resultinghierarchy of recommendations, illustrated in FIG. 7, may have anappearance of a fractal, thus the term “fractal navigation.” In FIG. 7,the initial source item 702 is presented with four recommended items704. Each recommended item 704 may, in turn serve as source contentitems and be presented with one or more refined recommendation items706. Each new set of recommendations may be based on the respectivesource content item and the viewer's personal profile. For example, ifthe new source content item (e.g., a movie) is identified by the systemas more scary than the old source content item, the resultingrecommendations may include movies that are more scary than the newsource item.

To illustrate an example use case of the recommendations mode, as aviewer follows the direction of a recommendation, the new recommendationin the same direction may have the same link, creating an associationbetween the direction and the tag/keyword while the same direction isfollowed. In one example embodiment, the recommended content items maybe selected from a variety of sources, such as broadcast television, thecontent on the viewer's PVR, the content available over the Internet,content available from a local network(s), as well as from anyinteractive, dynamic or Internet Protocol (IP) based content.

The anticipation engine 212, in one example embodiment, may utilize avariety of criteria in order to generate recommendations for aparticular viewer. An example criteria may include the viewer'sconsumption statistics or viewing behavior, e.g., what a viewer hasactually watched in the past. Another criterion that may be used by theanticipation engine 212 is a viewer's environment, e.g., the currenttime of day, the viewer's geographic location, or the type of theviewer's display device (e.g., a TV set which may be a standarddefinition TV set or a high definition TV set). Furthermore, the 212 mayutilize data that may be indicative of the viewer's mood. For example,information pertaining to how hard the viewer is pressing the remotecontrol buttons and how long the viewer has lingered on each contentitem may provide an indication of the viewer's mood. Thus, theanticipation engine 212 may be configured to utilize a viewer'senvironment and mood indicators, in addition to utilizing the viewer'sconsumption patterns, in order to generate recommendations. It will benoted that, in one example embodiment, the anticipation engine 212 mayutilize a variety of recommendation techniques. For example, the contentpresented to a viewer as related to the source content item may beshared from a social network and use collaborative filtering.

In one example embodiment, a viewer may be presented with reasoningbehind recommendation, e.g., the name of the actor, a category, aparticular keyword, etc. The recommendations may be based, for example,on one or more characteristics of the source content item, on theviewer's personal profile, or on a combination of both. Exampleoperations performed by the system 200 while the recommendation mode isactive, may be described with reference to FIG. 8.

FIG. 8 illustrates is an example method 800 to provide recommendations.The method 800 may be performed by processing logic that may comprisehardware (e.g., dedicated logic, programmable logic, microcode, etc.),software (such as run on a general purpose computer system or adedicated machine), or a combination of both. It will be noted, that, inan example embodiment, the processing logic may reside in any of themodules shown in FIG. 2.

As shown in FIG. 8, the method 800 commences with operation 802, wherethe communications module 202 of the system 200 receives a request toactivate the recommendation mode. The recommendation mode may beactivated by a viewer is a variety of ways. For example, as mentionedabove, a viewer may activate the recommendation menu. The recommendationmode may also be activated by selecting a “Recommend” control presentedon a media card. At operation 804, the anticipation module 230determines the source content item and then determines one or morerecommended content items, at operation 806 based, e.g., on metadataassociated with the source content item and the viewer's profile.

The suggested content items are displayed at operation 808. The method800 proceeds further to permit a viewer to explore furtherrecommendation, unless it is determined, at operation 810, that theviewer requested to exit the recommendation code, in which case thesystem 200 processes the exit request, at operation 812. In one exampleembodiment, if it is determined, at operation 814, that the viewerselected a suggested content item, the method proceeds to operation 804to display the selected content item as a new source item and continuewith determining further suggested content.

The library margin menu discussed above, in one example embodiment, maybe associated with a library grid. The library grid may be utilized topresent to a viewer with even more items from the locally and remotelysourced content available for viewing. In one example embodiment, theitems in the library grid may be presented to a viewer as thumbnailimages or video. The library grid may be navigated utilizing thedirectional keys on a remote control device, and each content item inthe library grid may be associated with a media card.

An example library grid, illustrated in FIG. 9, includes a display areadivided into a plurality of sections, where each section (e.g., eachcolumn 902) includes library content items associated with differentcategories 904. In some embodiments a viewer may be invited to usedefault categories (e.g., “Movies,” “TV Programs,” “Sports,” “Photos,”etc.) or create custom categories. Custom categories may be generated bya viewer or based upon the type and/or metadata of the aggregatecontent. For example, a custom category may be associated with an actor,a genre, a broadcast channel, the source of the content etc. In oneexample embodiment, the interface for navigating viewable content may belinked to one or more social networks. The categorization may then bedriven by a social network (e.g., a viewer-selected group of referencepeople), where the content may be tagged by a person or by a mechanismassociated with a particular social network.

It will be noted, that other margin menus may be provided instead of orin addition to the margin menus described above. A so-calledscenographic margin menu, in one example embodiment, may be configuredto permit a viewer to access different scenes within the content that isbeing presented to the viewer or to access related interactive content.The scenographic margin menu, in one example embodiment, may provideaccess to different portions of a particular program, similar to thescene selection feature available on digital video discs (DVDs).

Each item in the on scenographic margin menu may have associated“Preview” and “Select” (or “OK”) options. The “Preview” option maypermit a viewer to visually access a desired scene in the content, whilecontinuing to display the currently viewed content. In one exampleembodiment, a viewer may be permitted to see other scenes in the programwithout obscuring the currently viewed portion of the content. The“Select” option, in one example embodiment, causes the currently viewedscene to be replaced by the selected scene. The scenographic marginmenu, in one example embodiment, may be associated with a scenographicgrid that provides the viewer with an expanded view of the scenes withinthe content. For example, where a program is a football match, theassociated scenographic grid may permit the viewer to access thehighlights of that football match. Within the scenographic grid, theviewer may move quickly to critical parts of the game, or replay a goal.

In one example embodiment, the items in the scenographic grid may bepresented to a viewer as thumbnail images. The scenographic grid may benavigated utilizing the directional keys on a remote control device, andeach content item in the scenographic grid may be associated with amedia card providing additional information associated with any elementof the scene. In one example embodiment, each content item associatedwith a particular scene in the scenographic margin menu (or in thescenographic grid) may be displayed utilizing a still image or streamingvideo.

Another feature that may be provided with the system 200 to navigateviewable content, as mentioned above, is a media card represented as adisplay area dedicated to additional information associated with aparticular content item. A viewer may bring up a media card associatedwith the currently viewed content. A viewer may also be permitted tobring up a media card associated with a preview item. A media card, inone example embodiment, may have various actions associated with it. Forexample, a media card may include a “Save” action, to permit a viewer tosave the associated content item for later viewing, and a “Recommend”action, to permit a viewer to drive a recommendations grid based on thepiece of content associated with the media card. Returning to the “Save”action, in one example embodiment, if the content item associated withthe media card is an on demand content item or a content item that maybecome available in the future, the “Save” action causes the system tobookmark the content item. If the content item associated with the mediacard is a current content item, the “Save” action causes the system tostart recording the content to the viewer's personal video recorder. Ifthe content item associated with the media card is a preview for afuture broadcast then the “Save” action causes the system to book arecording for the future. An example media card is illustrated in FIG.10.

As shown in FIG. 10, a media card 1000 may include an information area1002, a search control 1004 to activate a search mode, a save area 1006to permit designating the content item for future viewing, a recommendcontrol 1008 to activate a recommendation mode, and an options control1010. The options control 1010 may activate various additional featuresassociated with an example media card. It will be noted that, in oneexample embodiment, any element of the media card may be actionable(e.g., a viewer may click on an actor's name and view furtherinformation about the actor, etc.). The actions associated with a mediacard may be navigated to, in one example embodiment, utilizing thedirectional keys on a remote control device, which may map to the samedirection as the UI itself. Activation of an action may, for someactions, present a viewer with additional choices before the action iscompleted. For example, for the “search” action, a list of associatedkeywords may be presented to provide the search term. The keywords, aswell as other information displayed on a media card, may be stored asmetadata associated with the content item.

It will be noted that, although the embodiments have been described byway of example with reference to digital video, it will be appreciatedto a person of skill in the art that the techniques described herein maybe utilized to navigate and to manage the choice of any digital data.

FIG. 11 shows a diagrammatic representation of machine in the exampleform of a computer system within which a set of instructions, forcausing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed.

In alternative embodiments, the machine operates as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a network router, switch or bridge, or any machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. Further, while only a singlemachine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein.

The example computer system 1100 includes a processor 1102 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 1104 and a static memory 1106, which communicatewith each other via a bus 1108. The computer system 1100 may furtherinclude a video display unit 1110 (e.g., a liquid crystal display (LCD)or a cathode ray tube (CRT)). The computer system 1100 also includes analphanumeric input device 1112 (e.g., a real or virtual keyboard), aviewer interface (UI) navigation device 1114 (e.g., a remote control ora mouse), a disk drive unit 1116, a signal generation device 1118 (e.g.,a speaker) and a network interface device 1120.

The disk drive unit 1116 includes a machine-readable medium 1122 onwhich is stored one or more sets of instructions and data structures(e.g., software 1124) embodying or utilized by any one or more of themethodologies or functions described herein. The software 1124 may alsoreside, completely or at least partially, within the main memory 1104and/or within the processor 1102 during execution thereof by thecomputer system 1100, the main memory 1104 and the processor 1102 alsoconstituting machine-readable media.

The software 1124 may further be transmitted or received over a network1126 via the network interface device 1120 utilizing any one of a numberof well-known transfer protocols (e.g., HTTP).

While the machine-readable medium 1122 is shown in an example embodimentto be a single medium, the term “machine-readable medium” may be takento include a single medium or multiple media (e.g., a centralized ordistributed database, and/or associated caches and servers) that storethe one or more sets of instructions. The term “machine-readable medium”shall also be taken to include any medium that is capable of storing,encoding or carrying a set of instructions for execution by the machineand that cause the machine to perform any one or more of themethodologies of the present invention, or that is capable of storing,encoding or carrying data structures utilized by or associated with sucha set of instructions. The term “machine-readable medium” shallaccordingly be taken to include, but not be limited to, solid-statememories, optical and magnetic media, and carrier wave signals.

The embodiments described herein may be implemented in an operatingenvironment comprising software installed on a computer, in hardware, orin a combination of software and hardware.

Although embodiments have been described with reference to specificexample embodiments, it will be evident that various modifications andchanges may be made to these embodiments without departing from thebroader spirit and scope of the invention. Accordingly, thespecification and drawings are to be regarded in an illustrative ratherthan a restrictive sense.

The invention claimed is:
 1. A method comprising: detecting, by a mediadevice, a first user action during a presentation of first media contenton a display screen having margins; identifying, by the media device andfrom among the margins of the display screen a margin that correspondsto the first user action; causing, by the media device and during thepresentation of the first media content, display of second media contenton a portion of the display screen, the portion corresponding to theidentified margin; and based on a second user action detected duringdisplay of the second media content, causing, by the media device,display of third media content on the portion that corresponds to theidentified margin.
 2. The method of claim 1, wherein: the third mediacontent is selected based on the second media content.
 3. The method ofclaim 1, wherein: the causing of the display of the second media contenton the portion of the display screen includes causing display of arecommendation that includes the second media content on the portion ofthe display screen.
 4. The method of claim 3, wherein: therecommendation that includes the second media content is a firstrecommendation; and the causing of the display the third media contenton the portion of the display screen includes causing display of asecond recommendation that includes the third media content on theportion of the display screen.
 5. The method of claim 4, wherein: thesecond recommendation is based on the first recommendation.
 6. Themethod of claim 4, further comprising: based on a third user actiondetected during display of the third media content; causing, by themedia device, display of a third recommendation that includes fourthmedia content on the portion of the display screen.
 7. The method ofclaim 6, wherein: the third recommendation is based on the secondrecommendation.
 8. The method of claim 1, wherein: the causing of thedisplay of the second media content on the portion of the display screenis based on the second media content being previously designated by auser as being of interest.
 9. The method of claim 1, wherein: thedetecting of the first user action includes receiving a first input froma device configured to select the first media content from availablemedia content; and the method further comprises: detecting, by the mediadevice, the second user action by receiving a second input from thedevice.
 10. The method of claim 1, wherein: the first user actionindicates a first direction among a set of directions selectable by adevice; and the identifying of the margin is based on the firstdirection indicated by the first user action.
 11. The method of claim10, wherein: the second user action indicates the first direction amongthe set of directions; and the causing of the display of the third mediacontent is based on the first direction indicated by the second useraction.
 12. The method of claim 11, further comprising: detecting, bythe media device, a third user action that indicates a second directionperpendicular to the first direction; and causing, by the media device,display of fourth media content on the portion of the display screen,the fourth media content being selected based on the third mediacontent.
 13. The method of claim 11, further comprising: detecting, bythe media device, a third user action that indicates a second directionopposite to the first direction; and ceasing, by the media device, thedisplay of the third media content based on the third user actionindicating the second direction opposite to the first direction.
 14. Themethod of claim 1; wherein: the first user action results from operationof a first directional control element among a set of directionalcontrol elements on a device; and the identifying of the margin is basedon the operation of the first directional control element.
 15. Themethod of claim 14, wherein: the second user action results from afurther operation of the first directional control element on thedevice; and the causing of the display of the third media content isbased on the further operation of the first directional control element.16. The method of claim 15, further comprising: detecting, by the mediadevice, a third user action resultant from operation of a seconddirectional control element among the set of directional controlelements, the second directional control element being orientedperpendicular to the first directional control element; and causing, bythe media device, display of fourth media content selected based on thesecond media content in response to the third user action.
 17. Themethod of claim 15, further comprising: detecting, by the media device,a third user action resultant from operation of a second control elementamong the set of directional control elements, the second directionalcontrol element being oriented opposite to the first directional controlelement; and ceasing, by the media device, the display of the thirdmedia content in response to the third user action.
 18. A non-transitorymachine-readable medium comprising instructions that, when executed byone or more processors of a media device, cause the media device toperform operations comprising: detecting a first user action during apresentation of first media content on a display screen having margins;identifying, from among the margins of the display screen, a margin thatcorresponds to the first user action; causing, during the presentationof the first media content, display of second media content on a portionof the display screen, the portion corresponding to the identifiedmargin; and based on a second user action detected during display of thesecond media content, causing display of third media content on theportion that corresponds to the identified margin.
 19. A systemcomprising: one or more processors; and a memory storing instructionsthat, when executed by at least one processor among the one or moreprocessors, cause the system to perform operations comprising: detectinga first user action during a presentation of first media content on adisplay screen having margins; identifying, from among the margins ofthe display screen, a margin that corresponds to the first user action;causing, during the presentation of the first media content, display ofsecond media content on a portion of the display screen, the portioncorresponding to the identified margin; and based on a second useraction detected during display of the second media content, causingdisplay of third media content on the portion that corresponds to theidentified margin.
 20. The system of claim 19, wherein: the causing ofthe display of the second media content on the portion of the displayscreen includes causing display of a first recommendation that includesthe second media content on the portion of the display screen; and thecausing of the display the third media content on the portion of thedisplay screen includes causing display of a second recommendation thatincludes the third media content on the portion of the display screen.